[% setvar title The Perl 6 Summary for the week ending 2005-11-27 %]
<div id="archive-notice">
    <h3>This file is part of the Perl 6 Archive</h3>
    <p>To see what is currently happening visit <a href="http://www.perl6.org/">http://www.perl6.org/</a></p>
</div>
<div class='pod'>
<a name='The Perl 6 Summary for the week ending 2005-11-27'></a><h1>The Perl 6 Summary for the week ending 2005-11-27</h1>
<p>Another week passes. Another summary is written. Another sentence remains
steadfastly in the passive voice.</p>
<a name='This week in perl6-compiler'></a><h1>This week in perl6-compiler</h1>
<a name='Perl 5 tests for PGE::P5Regexp'></a><h2>Perl 5 tests for PGE::P5Regexp</h2>
<p>Jerry Gay announced that he'd checked in a subset of perl 5.9.2's regexp tests
to give PGE something to work on. Right now only 130 of 960 tests are running,
in part because the test harness he's using can't quite cope with the test file
syntax used for the original tests. I'm sure it won't stay that way or long.</p>
<p>A couple of days later he announced that more tests were being converted and
that there were now 360 passing tests and a further 155 or so TODO tests.</p>
<p>Well done Jerry.</p>
<p><a href='http://groups.google.com/groups?threadm=1d9a3f400511211939i134aa0fnefc86179431b96fd@mail.gmail.com' target='_blank'>groups.google.com</a></p>
<a name='PDD 20 and :outer'></a><h2>PDD 20 and :outer</h2>
<p>Leo had some questions about the workings of lexical pads and <code>:outer</code>. He
showed a couple of examples in high level language and wondered if his parrot
conversions were right. Chip thought that Leo shouldn't worry about
implementing the Perl 5 semantics of a named inner subroutine because the way
Perl 5 does it is a bug not a feature. Dave Mitchell wasn't so sure.</p>
<p><a href='http://groups.google.com/groups?threadm=43832AF2.2040402@toetsch.at' target='_blank'>groups.google.com</a></p>
<a name='DynLexPad'></a><h2>DynLexPad</h2>
<p>Leo's working on implementing a DynLexPad PMC to provide 'a more dynamic
lexpad' akin to the new deprecated ScratchPad PMC. He outlined his current
plans and asked for comments from HLL authors about what they needed.</p>
<p><a href='http://groups.google.com/groups?threadm=43834203.2020209@toetsch.at' target='_blank'>groups.google.com</a></p>
<a name='Punie to AST'></a><h2>Punie to AST</h2>
<p>Allison has checked in the code to transform PunieGrammar match objects into
Abstract Syntax Trees (ASTs). Apparently the set of AST node types she's using
isn't quite the same as the Pugs PIL. Hopefully one day we'll have a common
AST format, and all manner of things shall be well.</p>
<p><a href='http://groups.google.com/groups?threadm=FE692303-15F8-42D8-AF73-270BCEDA6EAD@perl.org' target='_blank'>groups.google.com</a></p>
<a name='Meanwhile, in perl6-internals'></a><h1>Meanwhile, in perl6-internals</h1>
<a name='RESPONSIBLE_PARTIES or ENTITIES_AT_FAULT?'></a><h2>RESPONSIBLE_PARTIES or ENTITIES_AT_FAULT?</h2>
<p>Joshua Hoblitt suggested that Jerry Gay should be added to the
<b><i>RESPONSIBLE_PARTIES</i></b> file as the person in charge of the test suite. After a
small amount of byplay suggesting the file be renamed, the nomination was
strongly seconded and Jerry's name added to the list.</p>
<p><a href='http://groups.google.com/groups?threadm=20051120210940.GB22898@ifa.hawaii.edu' target='_blank'>groups.google.com</a></p>
<a name='Curses and parrot problems?'></a><h2>Curses and parrot problems?</h2>
<p>Josh Isam has been having problems with using the curses library under both
Darwin and freebsd. He wondered if anyone had any pointers for fixing
things. Leo thought it might be that the parrot ncurses support was getting a
function signature wrong somewhere and suggested Josh check that.</p>
<p><a href='http://groups.google.com/groups?threadm=Pine.LNX.4.53.0511222245480.1385@ritalin.shout.net' target='_blank'>groups.google.com</a></p>
<a name='Subs may not contain dynamic call info, ever'></a><h2>Subs may not contain dynamic call info, ever</h2>
<p>Repeat after Chip: &quot;Subs don't have callers. Call frames have callers.&quot;</p>
<p>After a short discussion with Leo, Chip wrote a short treatise on the
relationships between Subs and Closures, noting that they should only hold
static information.</p>
<p><a href='http://groups.google.com/groups?threadm=20051123180834.GF6095@tytlal.topaz.cx' target='_blank'>groups.google.com</a></p>
<a name='Undefined labels'></a><h2>Undefined labels</h2>
<p>While working on TODO #37590 (catch illegal bsr at compile time), Leo's made
parrot rather more picky about labels and how they are used. Essentially, if
you weren't doing daft things with labels you're probably all right. If you
were, you should probably check this post.</p>
<p>After Leo checked the fixes in (r10168), several PGE tests started
breaking. Less than 6 hours later, Patrick check version r10176 in and the
tests started passing again. Leo (and I) was impressed.</p>
<p><a href='http://groups.google.com/groups?threadm=87bc76ce931e9c7e29ed9be192d32de4@toetsch.at' target='_blank'>groups.google.com</a></p>
<p><a href='http://groups.google.com/groups?threadm=3a149d0a332aa57205267f928fe1544a@toetsch.at' target='_blank'>groups.google.com</a></p>
<a name='Exception handlers and calling conventions'></a><h2>Exception handlers and calling conventions</h2>
<p>Leo posted a brain dump about how to get exception handling to work in
Parrot. In particular he wanted help with syntax (exception handling semantics
aren't exactly rocket science when you've got a continuation based virtual
machine after all). Warnock applied (However, I am reliably informed that next
week's summary will have some responses; anyone who suggests that that's
because this summary is late will be annoyingly Right).</p>
<p><a href='http://groups.google.com/groups?threadm=5b4f21642641211939b10fe8548ea876@toetsch.at' target='_blank'>groups.google.com</a></p>
<a name='Test::More and tests in PIR'></a><h2>Test::More and tests in PIR</h2>
<p>Not content with having a pure PIR implementation of Test::Builder, chromatic
posted his implementation of Test::More in pure parrot. Admittedly the current
version should likely be called Test::Less::Is::More, but the journey of 1000
cliches starts with a single step and all that. And that's not all, the
fearlessly lowercased one intends to start work on the big daddy, Parrot::Test
with an eye to doing even more in Parrot. (Which makes a good deal of sense.
After all, the plan is to get Parrot to a point where it can be built without
needing a working perl installation)</p>
<p><a href='http://groups.google.com/groups?threadm=1133039776.6474.48.camel@localhost' target='_blank'>groups.google.com</a></p>
<a name='Meanwhile, in perl6-language'></a><h1>Meanwhile, in perl6-language</h1>
<a name='\x{123a 123b 123c}'></a><h2><code>\x{123a 123b 123c}</code></h2>
<p>Juerd had praised Ruud H.G. van Tol's proposal of <code>\x{123a 123b 123c}</code> as a
replacement for <code>\x{123a} \x{123b} \x{123c}</code> in rules. Larry wasn't so
sure. He suggested <code>\x[123a,123b,123c]</code> but still wasn't exactly happy with
it. He also had some thoughts about character class syntax, and the meaning of
spaces within a character class spec. This being the language list, the
discussion spun off in various directions (all related to rules, just not
necessarily that much to do with the nominal subject). It was good stuff
though; threads with Larry, Damian, Patrick and Luke in them usually are.</p>
<p>One little tidbit that came out of this was a reminder that the best place to
read synopses and apocalypses is at svn.perl.org or dev.perl.org because they
are kept up to date, unlike the ones at perl.com.</p>
<p><a href='http://groups.google.com/groups?threadm=20051120023217.GA507@wall.org' target='_blank'>groups.google.com</a></p>
<a name='Multidimensional argument list binding'></a><h2>Multidimensional argument list binding</h2>
<p>Ingo Blechschmidt's question from the end of last week about multidimensional
argument list binding got addressed this week. He, Luke and Larry discussed
different aspects of slurpiness. Personally, I expect I'll be using the
<code>*@;foo</code> for almost all my slurpy needs.</p>
<p><a href='http://groups.google.com/groups?threadm=dlql9i$bnf$1@sea.gmane.org' target='_blank'>groups.google.com</a></p>
<a name='statement_control&lt;foo&gt;()'></a><h2><code>statement_control&lt;foo&gt;()</code></h2>
<p>Ingo Blechschmidt had asserted that <code>for</code> is not strictly a Perl 6 keyword,
but is (conceptually at least) at statement control subroutine. Rob Kinyon
wondered what other 'keywords' were actually statement control subs. According
to Ingo, pretty much everything that's used for control flow modification is a
statement control subroutine, but that they'll almost certainly be optimised
away to 'primitives' of some sort (after all, it's rather hard to come up with
a definition of <code>if</code>, say that isn't at least slightly circular).</p>
<p><a href='http://groups.google.com/groups?threadm=70384420511202024y223ac219h3ecea2cbd0feef8@mail.gmail.com' target='_blank'>groups.google.com</a></p>
<a name='till'></a><h2><code>till</code></h2>
<p>Perl 6's stock of agricultural operators continues to grow apace. Not content
with <code>gather</code>, we now have <code>till</code>, which replaces the old flipflop operator
<code>..</code> (sorry beachware fans).</p>
<p>Larry had some thoughts on the detailed semantics in response to a question
from Ingo. Most of Ingo's problems disappeared when he realised that <code>till</code>
would be a macro.</p>
<p><a href='http://groups.google.com/groups?threadm=20051121062128.GA9451@wall.org' target='_blank'>groups.google.com</a></p>
<a name='Ponie!'></a><h2>Ponie!</h2>
<p>Joshua Gatcomb wondered what was happening to Ponie and if Fotango would
continue to fund it. Warnock applies.</p>
<p><a href='http://groups.google.com/groups?threadm=941eab840511211220t1ee6952dpb578ed10259f29@mail.gmail.com' target='_blank'>groups.google.com</a></p>
<a name='Dis-junctive patterns'></a><h2>Dis-junctive patterns</h2>
<p>Gaal Yahas found what looked like a bug in pugs. Larry agreed that it looks
pretty entomological. It's probably already fixed in bleadpugs.</p>
<p><a href='http://groups.google.com/groups?threadm=20051122073126.GE14252@sike.forum2.org' target='_blank'>groups.google.com</a></p>
<a name='Type sigils and a new unary ^ operator'></a><h2>Type sigils and a new unary <code>^</code> operator</h2>
<p>Larry announced that, after all the discussion of coming up with a type sigil
and searching for various possibilities, he's ended up back at <code>::</code>, which was
what it was before the discussion started. Apparently the tipping point came
when he realised that he wanted <code>^$x</code> back as a unary operator that's short
for <code>0..($x-1)</code> which would make it easy to write things like:</p>
<pre>  for ^5 {...}</pre>
<p>without falling foul of fencepost errors etc. Some people didn't like
it. Vocally. Larry stood firm. Yay Larry. (Impartial summarizer? What's that
then?)</p>
<p><a href='http://groups.google.com/groups?threadm=20051122223412.GA28366@wall.org' target='_blank'>groups.google.com</a></p>
<a name='Lazy lists in Str context'></a><h2>Lazy lists in Str context</h2>
<p>Flavio S. Glock reckoned it would be nice if:</p>
<pre>  say substr( ~(1..Inf), 0, 10 )</pre>
<p>printed &quot;1 2 3 4 5&quot;. There was discussion, but I think we stayed firmly in &quot;Not
going to happen.&quot; Unless I completely misread the thread of course.</p>
<p><a href='http://groups.google.com/groups?threadm=aa47605d0511230413p20173745k@mail.gmail.com' target='_blank'>groups.google.com</a></p>
<a name='Binding of list slice elements'></a><h2>Binding of list slice elements</h2>
<p>Ingo Blechschmidt is great at posting a few lines of not particularly
mind bending code and then following consequences through until either your mind
is broken, or you assume that Ingo's must be (more usually the former than the
latter, to Ingo's everlasting credit).</p>
<p>This time he followed through on the implications of binding array
slices. Nothing from @larry yet, but he posted at the end of the week.</p>
<p><a href='http://groups.google.com/groups?threadm=dm4has$u3s$1@sea.gmane.org' target='_blank'>groups.google.com</a></p>
<a name='Acknowledgements, apologies and everything else'></a><h1>Acknowledgements, apologies and everything else</h1>
<p>This summary was made from the finest mailing list posts, each individually
plucked and filleted for your delight and elucidation. The alert among you will
have noted that today is Wednesday and not Monday, which means we're a little
late. What can I say? It's ready when it's ready.</p>
<p>This summary was also brought to you through the labours of Piers Cawley and
not Matt Fowles as we had planned when, dewy eyed and innocent, I set off on
the long journey down to the wilds of London with the express intention of
attending the London Perl Workshop, the International Magic Convention, Sharp's
folk club and divers fine gentlemen's outfitters, jewellers, bookshops and
quality eating establishments.</p>
<p>All was proceeding flawlessly, until, on Saturday morning as the tube train
doors began to close in front of me, I attempted to stop running and discovered
that the soles of my shoes had other ideas and fell on my arse, twisted my
ankle and scraped an unfeasibly large amount of skin from my shin off on the
bottom of the aforementioned tube train. Luckily the driver noticed my plight
and did not drive off, taking my left foot with him. Instead he opened the
doors and waited for me to dust myself off and board his vehicle, which carried
me to Paddington where, after much hobbling and swearing I was bandaged and
deposited once more on London's cold and unfeeling streets.</p>
<p>So, I hopped into a taxi (and I use the word hopped advisedly) and repaired
straightway to King's Cross and thence home to Gateshead, where my discomfort
was somewhat ameliorated by the distraction of preparing this week's summary. I
hope to be writing next week's summary as well because the week after I'll be
moving house and don't quite know when I'll have my bandwidth back.</p>
<a name='Help Chip'></a><h2>Help Chip</h2>
<p><a href='http://geeksunite.org/' target='_blank'>geeksunite.org</a> -- Chip still needs help.</p>
<a name='The usual coda'></a><h2>The usual coda</h2>
<p>If you find these summaries useful or enjoyable, please consider
contributing to the Perl Foundation to help support the development of
Perl.</p>
<p><a href='http://donate.perl-foundation.org/' target='_blank'>donate.perl-foundation.org</a> -- The Perl Foundation</p>
<p><a href='http://dev.perl.org/perl6/' target='_blank'>dev.perl.org</a> -- Perl 6 Development site</p>
<p>Check out my website, it's lovely.</p>
<p><a href='http://www.bofh.org.uk/' target='_blank'>www.bofh.org.uk</a></p>
<p>Vaguely pretty photos by me can be found at:</p>
<p><a href='http://www.flickr.com/photos/pdcawley' target='_blank'>www.flickr.com</a></p>
</div>
